package com.mydomain.Bodega;
// Generated 09-oct-2009 21:00:47 by Hibernate Tools 3.2.2.GA

import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import org.hibernate.validator.Length;
import org.hibernate.validator.NotNull;

/**
 * Departamento generated by hbm2java
 */
@Entity
@Table(name = "departamento", schema = "public")
public class Departamento implements java.io.Serializable {

	private int depCodigo;
	private String depDescripcion;
	private String depTelefono;
	private Set<Subdepartamento> subdepartamentos = new HashSet<Subdepartamento>(
			0);

	public Departamento() {
	}

	public Departamento(int depCodigo) {
		this.depCodigo = depCodigo;
	}
	public Departamento(int depCodigo, String depDescripcion,
			String depTelefono, Set<Subdepartamento> subdepartamentos) {
		this.depCodigo = depCodigo;
		this.depDescripcion = depDescripcion;
		this.depTelefono = depTelefono;
		this.subdepartamentos = subdepartamentos;
	}

	@Id
	@Column(name = "dep_codigo", unique = true, nullable = false, precision = 5, scale = 0)
	@NotNull
	@GeneratedValue(strategy=GenerationType.AUTO)
	public int getDepCodigo() {
		return this.depCodigo;
	}

	public void setDepCodigo(int depCodigo) {
		this.depCodigo = depCodigo;
	}

	
	@Column(name = "dep_descripcion", length = 150)
	@Length(max = 150)
	public String getDepDescripcion() {
		return this.depDescripcion;
	}

	public void setDepDescripcion(String depDescripcion) {
		this.depDescripcion = depDescripcion;
	}

	@Column(name = "dep_telefono", length = 7)
	@Length(max = 7)
	public String getDepTelefono() {
		return this.depTelefono;
	}

	public void setDepTelefono(String depTelefono) {
		this.depTelefono = depTelefono;
	}
	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "departamento")
	public Set<Subdepartamento> getSubdepartamentos() {
		return this.subdepartamentos;
	}

	public void setSubdepartamentos(Set<Subdepartamento> subdepartamentos) {
		this.subdepartamentos = subdepartamentos;
	}

}
